package com.zisu.wcsopcua.taskPool;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.concurrent.Callable;

/**
 * @Author: 蔡翔
 * @Date: 2019/10/28 15:01
 * @Version 1.0
 *
 * 返回值：
 * -1 代表 IOServer 写入异常
 * -2 代表 堆垛机在执行任务途中 出现故障。
 * -3 代表 重置称重plc 失败。  (这种报错，只要记录日志，然后相同的任务重新发起就行了)
 * -4 代表 在出库的时候，称重平台上已经有货了。 （这个时候就要把 l_start 给置为false  和 end 置为true）
 * 1 代表 堆垛机执行成功
 * 2 代表 重置任务失败。
 * 3 代表 分发任务失败
 * 4 代表 软启动成功
 *
 * status : work
 */

//如果实现 Runnable 返回值是 void ，，如果是Callable<T> 返回的是T
public class DDJCreateTaskRunnable<T> implements Callable<T> {


    private final static Logger logger = LoggerFactory.getLogger(DDJCreateTaskRunnable.class);
    //状态量 常量
    private static final Integer IOServerWriteExcep = -1;
    private static final Integer DDJRunningFault = -2;
    private static final Integer DDJFinishedSuccess = 1;
    private static final Integer ResetTaskFail = 2;
    private static final Integer SendTaskFail = 3;
    private static final Integer GracefulShutdownSuccess = 4;


    /**
     * 终点
     **/
    private String targetPosition = null;
    /**
     * 起点
     **/
    private String takePosition = null;
    /**
     * 称重plc位置、入库或者出库
     **/
    private Integer position = null;
    private Integer weightPLCType = null;



    /**
     * 优雅关闭
     **/
    private boolean switchs = true;

    private Integer deviceStatus;
    private Integer remoteMode;

    public DDJCreateTaskRunnable(){

    }
    public synchronized void initialDDJCreateTaskRunnable(){

    }

    @Override
    public T call() throws Exception {
        return null;
    }
}
